package xyz.erupt.flow.bean.entity.form;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * @author PP
 * @version 1.0
 * @project Erupt
 * @description
 * @date 2024/9/20 08:58:37
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)//忽略识别不了的反序列化字段
public class Props {
    private Boolean required;
    private Boolean enablePrint;
    private Boolean showBorder;
    private Boolean rowLayout;
    private Boolean showSummary;
    private List<FormComponent> items; // 用于分栏布局等
    private List<FormComponent> columns; // 用于表格的列
    private Integer maxSize;
    private List<Object> summaryColumns; // 根据你的需求，可以更改为具体类型
    private Boolean expanding;
    private String format;
    @JsonDeserialize(using = PlaceholderDeserializer.class)//自定义类型处理
    private List<String> placeholder; // 用于日期时间区间的占位符
    private Integer precision;
    private Boolean showLength;
    private Integer maxNumber;
    private Integer maxSizeUpload;
    private List<String> fileTypes;
    @JsonDeserialize(using = OptionDeserializer.class)
    private List<Object> options; // 适用于选择器类
    private String optionMode;
}
